home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / utils / src / tar-1.11.2.shar / pathmax.h < prev    next >
C/C++ Source or Header  |  1994-01-23  |  2KB  |  54 lines

  1. /* Define PATH_MAX somehow.  Requires sys/types.h.
  2.    Copyright (C) 1992 Free Software Foundation, Inc.
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 2, or (at your option)
  7.    any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  17.  
  18. #ifndef _PATHMAX_H
  19. #define _PATHMAX_H
  20.  
  21. #ifdef HAVE_UNISTD_H
  22. #include <unistd.h>
  23. #endif
  24.  
  25. /* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
  26.    PATH_MAX but might cause redefinition warnings when sys/param.h is
  27.    later included (as on MORE/BSD 4.3).  */
  28. #if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && defined(USG))
  29. #include <limits.h>
  30. #endif
  31.  
  32. #ifndef _POSIX_PATH_MAX
  33. #define _POSIX_PATH_MAX 255
  34. #endif
  35.  
  36. #if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
  37. #define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
  38. #endif
  39.  
  40. /* Don't include sys/param.h if it already has been.  */
  41. #if !defined(PATH_MAX) && !defined(MAXPATHLEN) && !defined(__MSDOS__)
  42. #include <sys/param.h>
  43. #endif
  44.  
  45. #if !defined(PATH_MAX) && defined(MAXPATHLEN)
  46. #define PATH_MAX MAXPATHLEN
  47. #endif
  48.  
  49. #ifndef PATH_MAX
  50. #define PATH_MAX _POSIX_PATH_MAX
  51. #endif
  52.  
  53. #endif /* _PATHMAX_H */
  54.